import axios from 'axios'
// 导入进度条插件
import NProgress from 'nprogress'
// 创建axios对象
const request = axios.create({
  // 服务器的api地址
  baseURL: 'http://localhost:8888/api/private/v1',
  // 超时时间
  timeout: 5000
})
// 请求拦截器
request.interceptors.request.use(config => {
  // 当进入request拦截器前，表示发送了请求，我们就开启进度条
  NProgress.start()
  // 预留着在请求头中添加token信息
  const token = sessionStorage.getItem('token')
  if (config.url !== '/login' && token) {
    config.headers.Authorization = token
  }
  return config
}, err => {
  return Promise.reject(err)
})
// 响应拦截器
request.interceptors.response.use(res => {
  // 当进入response拦截器，表示请求已经结束，我们就结束进度条
  NProgress.done()
  // 结果的处理
  return res.data
}, err => {
  return Promise.reject(err)
})
export default request
